using System;
using System.Collections.Generic;
using System.Text;
using BusinessObjects.BO_Actions;
using Entity.StoreProcedure;
using BusinessObjects;
using System.Data;
namespace BusinessObjects.BO_GetObjects
{
    public static class BO_portal_email_newsletters
    {
        public static DataTable SelectAll(int status)
        {
            try
            {
                usp_portal_email_newsletters_select_all entity = new usp_portal_email_newsletters_select_all();
                entity.STATUS = status;
                return BO_Actions<usp_portal_email_newsletters_select_all>.ExecuteAndReturnDataTable(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static DataTable SelectTop(int rows, int status)
        {
            try
            {
                usp_portal_email_newsletters_select_top entity = new usp_portal_email_newsletters_select_top();
                entity.NUMBERRECORD = rows;
                entity.STATUS = status;
                return BO_Actions<usp_portal_email_newsletters_select_top>.ExecuteAndReturnDataTable(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static DataTable Search(int email_id)
        {
            try
            {
                usp_portal_email_newsletters_search entity = new usp_portal_email_newsletters_search();
                entity.EMAIL_ID = email_id;
                return BO_Actions<usp_portal_email_newsletters_search>.ExecuteAndReturnDataTable(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static DataTable SelectWithPaged(int startIndex, int pageCount, int status)
        {
            try
            {
                usp_portal_email_newsletters_select_paged entity = new usp_portal_email_newsletters_select_paged();
                entity.STARTINDEX = startIndex;
                entity.MAXRECORDS = pageCount;
                entity.STATUS = status;
                return BO_Actions<usp_portal_email_newsletters_select_paged>.ExecuteAndReturnDataTable(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static string Insert(string region_id, string category_id, string title, bool is_email, DateTime created_date, int status)
        {
            try
            {
                usp_portal_email_newsletters_insert entity = new usp_portal_email_newsletters_insert();
                entity.REGION_ID = region_id;
                entity.CATEGORY_ID = category_id;
                entity.TITLE = title;
                entity.IS_EMAIL = is_email;
                entity.CREATED_DATE = created_date;
                entity.STATUS = status;
                return BO_Actions<usp_portal_email_newsletters_insert>.ExecuteAndReturnStringValue(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static string Update(Int64 email_id, string region_id, string category_id, string title, bool is_email, DateTime created_date, int status)
        {
            try
            {
                usp_portal_email_newsletters_update entity = new usp_portal_email_newsletters_update();
                entity.EMAIL_ID = email_id;
                entity.REGION_ID = region_id;
                entity.CATEGORY_ID = category_id;
                entity.TITLE = title;
                entity.IS_EMAIL = is_email;
                entity.CREATED_DATE = created_date;
                entity.STATUS = status;
                return BO_Actions<usp_portal_email_newsletters_update>.ExecuteAndReturnStringValue(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static bool Delete(int email_id)
        {
            try
            {
                usp_portal_email_newsletters_delete entity = new usp_portal_email_newsletters_delete();
                entity.EMAIL_ID = email_id;
                return BO_Actions<usp_portal_email_newsletters_delete>.ExecuteAndReturnBooleanValue(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static bool Restore(int email_id)
        {
            try
            {
                usp_portal_email_newsletters_restore entity = new usp_portal_email_newsletters_restore();
                entity.EMAIL_ID = email_id;
                return BO_Actions<usp_portal_email_newsletters_restore>.ExecuteAndReturnBooleanValue(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}
